/*
*********************************************************************************************************
*                                             uC/USB-Host
*                                     The Embedded USB Host Stack
*
*                    Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com
*
*                                 SPDX-License-Identifier: APACHE-2.0
*
*               This software is subject to an open source license and is distributed by
*                Silicon Laboratories Inc. pursuant to the terms of the Apache License,
*                    Version 2.0 available at www.apache.org/licenses/LICENSE-2.0.
*
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*
*                                 HUMAN INTERFACE DEVICE CLASS PARSER
*
* Filename : usbh_hidparser.h
* Version  : V3.42.01
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                               MODULE
*********************************************************************************************************
*/

#ifndef  USBH_HIDPARSER_MODULE_PRESENT
#define  USBH_HIDPARSER_MODULE_PRESENT


/*
*********************************************************************************************************
*                                            INCLUDE FILES
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                               EXTERNS
*********************************************************************************************************
*/

#ifdef   USBH_HIDPARSER_MODULE
#define  USBH_HIDPARSER_EXT
#else
#define  USBH_HIDPARSER_EXT   extern
#endif


/*
*********************************************************************************************************
*                                               DEFINES
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                             DATA TYPES
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                          GLOBAL VARIABLES
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                               MACROS
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                         FUNCTION PROTOTYPES
*********************************************************************************************************
*/

USBH_ERR             USBH_HID_ParserGlobalInit(void);

USBH_ERR             USBH_HID_ItemParser      (USBH_HID_DEV  *p_hid_dev,
                                               CPU_INT08U    *p_report_desc,
                                               CPU_INT32U     desc_len);

USBH_ERR             USBH_HID_CreateReportID  (USBH_HID_DEV  *p_hid_dev);

USBH_HID_REPORT_ID  *USBH_HID_MaxReport       (USBH_HID_DEV  *p_hid_dev,
                                               CPU_INT08U     type);


/*
*********************************************************************************************************
*                                        CONFIGURATION ERRORS
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                             MODULE END
*********************************************************************************************************
*/

#endif
